package com.vue;

import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JScrollPane;

import java.awt.Font;

import javax.swing.JTextField;

import com.metier.*;
import com.modele.ModeleStation;
import com.persistance.AccesData;

/**
 * Classe Jpanel d'affichage des Stations qui sera integre au Jform principale
 * 
 * @author b0dian
 * @version 1.0
 *
 */
public class ListeStation extends JPanel {
	private JLabel lblListeDesStations;
	private JScrollPane scrollPane;
	private JTable table;
	private ModeleStation modele;
	private JLabel lblNombresDeStations;
	private JLabel lblNombresDeBornes;
	private JTextField nbStations;
	private JTextField NbBornes;

	/**
	 * Create the panel.
	 */
	public ListeStation(Parc unParc) {
		modele = new ModeleStation(unParc.leParcBorne());
		setLayout(null);
		add(getLblListeDesStations());
		add(getScrollPane());
		add(getLblNombresDeStations());
		add(getLblNombresDeBornes());
		add(getNbStations(unParc));
		add(getNbBornes(unParc));
	}

	/**
	 * Create label
	 */
	private JLabel getLblListeDesStations() {
		if (lblListeDesStations == null) {
			lblListeDesStations = new JLabel("Liste des Stations");
			lblListeDesStations.setFont(new Font("Tahoma", Font.BOLD, 11));
			lblListeDesStations.setBounds(38, 11, 108, 14);
		}
		return lblListeDesStations;
	}

	/**
	 * Create Jtable En lui passant en parramètre le modele correspondant
	 */
	private JTable getTable() {
		if (table == null) {
			table = new JTable(modele);
			table.setBounds(0, 0, 1, 1);

		}
		return table;
	}

	/**
	 * Create scrollPane Auquel nous integrerons le Jtable
	 */
	private JScrollPane getScrollPane() {
		if (scrollPane == null) {
			scrollPane = new JScrollPane();
			scrollPane.setBounds(20, 153, 400, 75);
			scrollPane.setViewportView(getTable());
		}
		return scrollPane;
	}

	/**
	 * Create label
	 */
	private JLabel getLblNombresDeStations() {
		if (lblNombresDeStations == null) {
			lblNombresDeStations = new JLabel("Nombres de Stations");
			lblNombresDeStations.setBounds(221, 51, 124, 14);
		}
		return lblNombresDeStations;
	}

	/**
	 * Create label
	 */
	private JLabel getLblNombresDeBornes() {
		if (lblNombresDeBornes == null) {
			lblNombresDeBornes = new JLabel("Nombres de Bornes");
			lblNombresDeBornes.setBounds(221, 76, 124, 14);
		}
		return lblNombresDeBornes;
	}

	/**
	 * Create JtextField Auquel on assigne une valeur par defaut recuperer de la
	 * bdd et qui ne peut etre modifie
	 */
	private JTextField getNbStations(Parc unParc) {
		if (nbStations == null) {
			nbStations = new JTextField();
			nbStations.setEditable(false);
			nbStations.setBounds(354, 48, 44, 20);
			nbStations.setColumns(10);
			nbStations.setText(unParc.GetNbStation() + "");
		}
		return nbStations;
	}

	/**
	 * Create JtextField Auquel on assigne une valeur par defaut recuperer de la
	 * bdd et qui ne peut etre modifie
	 */
	private JTextField getNbBornes(Parc unParc) {
		if (NbBornes == null) {
			NbBornes = new JTextField();
			NbBornes.setEditable(false);
			NbBornes.setColumns(10);
			NbBornes.setBounds(354, 73, 44, 20);
			NbBornes.setText(unParc.GetNbBorne() + "");
		}
		return NbBornes;
	}
}
